#pragma once
#include<iostream>
#include<stack>
using namespace std;
namespace  GIS20163
{
	void function(char* str)
	{
		stack<char> flagstak;
		char* retstr[100] = {};
		int i = 0, j = 0;
		while (*(str + i) != '/0')
		{
			if (*(str + i) <= 'z' && *(str + i) >= 'a')
			{
				*retstr[j] = *(str + i);
				j++;
			}
			else if (*(str + i) == '(')
			{
				flagstak.push(*(str + i));
			}
			else if (*(str + i) == '-' || *(str + i) == '+')
			{
				flagstak. push(*(str + i));
			}
			else if (*(str + i) == '*' || *(str + i) == '/')
			{
				if (flagstak.empty())
				{
					flagstak.push(*(str + i));
				}
				else if(flagstak.top()=='+'||flagstak.top()=='-')
				{
					while (flagstak.empty())
					{
						*retstr[j] = flagstak.top();
						j++;
						flagstak.pop();
					}
				}
				else
				{
					flagstak.push(*(str + i));
				}
			}
			else if (*(str + i) == ')')
			{
				while (flagstak.top() != '(')
				{
					*retstr[j] = flagstak.top();
					j++;
				}
				flagstak.pop();
			}
			i++;
		}

		for (int k = 0; k < j; k++)
		{
			cout << str[k];
		}
	}
}